<?php

namespace App\Admin\Controllers;

use App\Http\Controllers\Controller;
use App\Models\MiniProgramInfo;
use Encore\Admin\Controllers\HasResourceActions;
use Encore\Admin\Form;
use Encore\Admin\Layout\Content;
use Encore\Admin\Show;

class MiniProgramInfoController extends Controller
{
    use HasResourceActions;

    /**
     * Show interface.
     *
     * @param mixed $id
     * @param Content $content
     * @return Content
     */
    public function show($id, Content $content)
    {
        return $content
            ->header('小程序配置')
            ->description('小程序信息')
            ->body($this->detail($id));
    }

    /**
     * Edit interface.
     *
     * @param mixed $id
     * @param Content $content
     * @return Content
     */
    public function edit($id, Content $content)
    {
        return $content
            ->header('小程序配置信息')
            ->body($this->form()->edit($id));
    }

    /**
     * Make a show builder.
     *
     * @param mixed $id
     * @return Show
     */
    protected function detail($id)
    {
        $show = new Show(MiniProgramInfo::findOrFail($id));

        $show->title('小程序名');
        $show->sub_title('小程序副名');
        $show->profile('小程序简介');
        $show->share_title('小程序分享标题');
        $show->share_pic('小程序分享图片')->image();
        $show->bg_img('小程序首页背景')->image();
        $show->service_phone('客服电话');
        $show->service_time('客户服务时间');

        $show->divider();
        $show->appid('小程序Appid');
        $show->secret('小程序密钥Secret')->as(function ($v) {
            // if($v && $v.length>6)
            {
                return substr($v, 0, 5) . '*****' . substr($v, -5);
            }
            return $v;
        });
        $show->mch_id('微信支付商户号');
        $show->key('微信支付密钥')->as(function ($v) {
            // if($v && $v.length>10)
            {
                return substr($v, 0, 5) . '*****' . substr($v, -5);
            }
            return $v;
        });
        $show->cert_path('微信支付证书(cert.pem)')->file();
        $show->key_path('微信支付证书(key.pem)')->file();

        $show->panel()->tools(function ($tool) {
            $tool->disableList();
            $tool->disableDelete();
        });
        return $show;
    }

    /**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form()
    {
        $form = new Form(new MiniProgramInfo);

        $form->tab('基本信息', function ($form) {
            $form->text('title', '店铺名');
            $form->text('sub_title', '店铺副名');
            $form->text('profile', '店铺简介');
            $form->text('share_title', '分享标题');
            $form->image('share_pic', '分享图片');
            $form->image('bg_img', '首页背景图');
            $form->text('service_phone', '客服电话');
            $form->text('service_time', '客户服务时间');
        })->tab('小程序信息', function ($form) {
            $form->text('appid', '小程序Appid');
            $form->text('secret', '小程序密钥Secret');
            $form->text('mch_id', '微信支付商户号');
            $form->text('key', '微信支付密钥');
            $form->file('cert_path', '微信支付证书(cert.pem)');
            $form->file('key_path', '微信支付证书(key.pem)');
        })->tab('店铺信息', function ($form) {
            // 创建一个富文本编辑器
            $form->editor('about_us', '关于我们');
        });
        // $form->text('title', '店铺名');
        // $form->text('sub_title', '店铺副名');
        // $form->text('profile', '店铺简介');
        // $form->text('share_title', '分享标题');
        // $form->image('share_pic', '分享图片');
        // $form->image('bg_img', '首页背景图');
        // $form->text('service_phone', '客服电话');
        // $form->text('service_time', '客户服务时间');
        // $form->divide();
        // $form->text('appid', '小程序Appid');
        // $form->text('secret', '小程序密钥Secret');
        // $form->text('mch_id', '微信支付商户号');
        // $form->text('key', '微信支付密钥');
        // $form->file('cert_path', '微信支付证书(cert.pem)');
        // $form->file('key_path', '微信支付证书(key.pem)');
        // $form->divide();
        // // 创建一个富文本编辑器
        // $form->editor('about_us', '关于我们');
        $form->tools(function (Form\Tools $tools) {
            // 去掉`列表`按钮
            $tools->disableList();
            // 去掉`删除`按钮
            $tools->disableDelete();
            // 去掉`查看`按钮
            $tools->disableView();
            $tools->add('<a  href="javascript:history.back(-1);" class="btn btn-sm btn-primary"><i class="fa fa-reply"></i>&nbsp;&nbsp;返回</a>');
        });
        $form->footer(function ($footer) {
            // 去掉`重置`按钮
            $footer->disableReset();
            // 去掉`查看`checkbox
            $footer->disableViewCheck();
            // 去掉`继续编辑`checkbox
            $footer->disableEditingCheck();
            // 去掉`继续创建`checkbox
            $footer->disableCreatingCheck();
        });
        return $form;
    }
}
